package cn.imnaer.service.rpc.userinfo.impl;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

import org.bson.BSONObject;
import org.bson.BasicBSONObject;

import cn.imnaer.service.persistence.model.SharePhoto;
import cn.imnaer.service.persistence.model.SharePhotoItem;
import cn.imnaer.service.persistence.model.TravelNote;
import cn.imnaer.service.persistence.model.TravelNotePhoto;
import cn.imnaer.service.persistence.model.User;
import cn.imnaer.service.rest.view.model.PersonInfo;
import cn.imnaer.service.rpc.share.dao.SharePhotoDaoImpl;

public class UserService {
//
//	/**
//	 * 得到用户发的最多的三张照片
//	 * 
//	 * @param userId
//	 * @return
//	 */
//	public List<String> getMyFirstThreeImages(String userId) {
//		List<ContributionImageItem> imageInfos = new ArrayList<>();
//		BSONObject matcher = new BasicBSONObject();
//		matcher.put("userId", userId);
//		BSONObject orderBy = new BasicBSONObject();
//		orderBy.put("createTime", -1);
//		List<SharePhoto> photoList = SharePhotoDaoImpl.getInstance().findAll(matcher, orderBy, SharePhoto.class, 5);
//		for (SharePhoto sharePhoto : photoList) {
//			ContributionImageItem imageInfo = new ContributionImageItem();
//			List<String> photos = new ArrayList<>();
//			imageInfo.setCreateTime(sharePhoto.getCreateTime());
//			if (sharePhoto.getItems().size() > 0) {
//				for (SharePhotoItem item : sharePhoto.getItems()) {
//					String image = item.getImage();
//					if (image != null) {
//						photos.add(image);
//					}
//				}
//			}
//			imageInfo.setPhotos(photos);
//			imageInfos.add(imageInfo);
//		}
//		List<TravelNote> travelNoteList = TravelNoteDaoImpl.getInstance().findAll(matcher, orderBy, TravelNote.class,5);
//		for (TravelNote travelNote : travelNoteList) {
//			ContributionImageItem imageInfo = new ContributionImageItem();
//			List<String> photos = new ArrayList<>();
//			imageInfo.setCreateTime(travelNote.getCreateTime());
//			if (travelNote.getTravelNotePhotos().size() > 0) {
//				for (TravelNotePhoto item : travelNote.getTravelNotePhotos()) {
//					String image = item.getImage();
//					if (image != null) {
//						photos.add(image);
//					}
//				}
//			}
//			imageInfo.setPhotos(photos);
//			imageInfos.add(imageInfo);
//		}
//		Collections.sort(imageInfos);
//		List<String> photos = new ArrayList<>();
//		for (ContributionImageItem imageInfo : imageInfos) {
//			photos.addAll(imageInfo.getPhotos());
//		}
//		if (photos.size() > 3) {
//			return photos.subList(0, 3);
//		} else {
//			return photos;
//		}
//	}
//
//	class ContributionImageItem implements Comparable<ContributionImageItem> {
//		public List<String> getPhotos() {
//			return photos;
//		}
//
//		public void setPhotos(List<String> photos) {
//			this.photos = photos;
//		}
//
//		public long getCreateTime() {
//			return createTime;
//		}
//
//		public void setCreateTime(long createTime) {
//			this.createTime = createTime;
//		}
//
//		private List<String> photos;
//		private long createTime;
//
//		@Override
//		public int compareTo(ContributionImageItem o2) {
//
//			return (int) (this.getCreateTime() - o2.getCreateTime());
//		}
//
//	}

}
